package Classes;

import java.io.Serializable;

public class Book implements Serializable
{
	static final long serialVersionUID = 1;
	private int id;
    private String title;
    private int year;
    private String user;
    
    /**
     * @author Heverton, Eugenio
     * @description Construtor Vazio, requerido pelo RMI
     */
	public Book () {
		this.id = 0;
		this.title = new String();
		this.year = 0;
		this.user = null;
	}
	
	/**
	 * @author Heverton, Eugenio
	 * @param id = Recebe o Identificador do Livro.
	 * @param title = Recebe oo Titulo do Livro.
	 * @param year = Recebera o Ano que o Livro foi publicado.
	 * @description Construtor inteiro para o Livro
	 */
	public Book(int id, String title, int year ) {
        this.id = id;
        this.title = title;
        this.year = year;
        this.user = null;
    }
       
    /**
     * @author Heverton, Eugenio
     * @param id
     * @Description Contrutor para Busca do Livro;
     */
	public Book (int id) {
        this.id = id;
    }

	/**
	 * @author Eugenio, Eugenio
	 * @param B
	 * @description Sobrecarga do operador equals, verifcar igualdade.
	 */
	public boolean equals ( Book B ) {
		return ( this.id == B.id );
	}

	/**
	 * @author Heverton, Eugenio
	 * @description Getter para o ID do livro.
	 */
	public int getId() {
		return this.id;
	}
	
	/**
	 * @author Heverton, Eugenio
	 * @description Getter para o Titulo do livro.
	 */
	public String getTitle(){
		return this.title;
	}

	/**
	 * @author Heverton, Eugenio
	 * @description Getter para o Ano do livro.
	 */
	public int getYear(){
		return this.year;
	}
	
	/**
	 * @author Heverton, Eugenio
	 * @description Setter para o ID do livro.
	 */
	public void setId(int id){
		this.id = id;
	}

	/**
	 * @author Heverton, Eugenio
	 * @description Setter para o Titulo do livro.
	 */
	public void setTitle(String title){
		this.title = title;		
	}
	
	/**
	 * @author Heverton, Eugenio
	 * @description Setter para o Ano do livro.
	 */
	public void setYear(int year){
		this.year = year;
	}
	
	public void setUser (String user){
		this.user = user;
	}
	
	public String getUser () {
		return this.user;
	}
	
	public void printBook ( ){
		System.out.println("ID = " + this.getId() + " TITLE = " + this.getTitle() + " YEAR = " +
				" Borrowed to = " + ((this.getUser()==null)?" --- ":this.getUser()) );
	}

}
